package com.ruoyi.robot.pojo.po;

import com.influxdb.annotations.Column;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.Instant;

/**
 * 功能描述：
 *
 * @Author：yid
 * @Date：2023/4/13 16:31
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "RobotParameter", description = "")
public class RobotParameter implements Serializable {

    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "机器人编号")
    @NotBlank(message = "机器人编号不能为空")
    @Column(tag = true)
    private String robotNo;

    @ApiModelProperty(value = "机器人当前负载电压")
    @Column
    private double loadVoltage;

    @ApiModelProperty(value = "机器人当前速度")
    @Column
    private double velocity;

    @ApiModelProperty(value = "机器人已使用时间")
    @Column
    private double usedTime;

    @ApiModelProperty(value = "机器人已清扫面积")
    @Column
    private double area;

    @ApiModelProperty(value = "已处理目标数")
    @Column
    private double targetNum;

    @ApiModelProperty(value = "机器人当前温度")
    @Column
    private double robotTemperature;

    @ApiModelProperty(value = "机器人当前横滚角")
    @Column
    private double rollAngle;

    @ApiModelProperty(value = "机器人当前俯仰角")
    @Column
    private double pitchAngle;

    @ApiModelProperty(value = "机器人当前航向角")
    @Column
    private double courseAngle;

    @ApiModelProperty(value = "探伤值")
    @Column
    private double detection;

    @ApiModelProperty(value = "机器人x轴坐标")
//    @NotNull(message = "x轴坐标不能为空")
    @Column
    private Double x;

    @ApiModelProperty(value = "机器人y轴坐标")
//    @NotNull(message = "y轴坐标不能为空")
    @Column
    private Double y;

    @ApiModelProperty(value = "机器人z轴坐标")
//    @NotNull(message = "z轴坐标不能为空")
    @Column
    private Double z;

    @Column(timestamp = true)
    private Instant time;
}
